Sesión 3: Manejo de datos con tidyverse

Curso: Introducción al software R para Ciencia de Datos en Salud
XXXVI CCN Huancayo - SOCIMEP 2022

Percy Soto-Becerra M.D., M.Sc(c)

Investigador Externo, Universidad Continental, Huancayo
@github/psotob91

Agosto 11, 2022

El Operador Pipe

%>%

Fuente: Sesion2-Introduccion a R y RStudio. Andre Valle y Steev Loyola Enlace

Operadar %>% en acción

Esto de aquí:

getwd()
[1] "C:/Users/percy/Desktop/minicurso-r-ccn2022/slides/sesion3y4"
mis_datos <- import("maca_meno_fase1.dta") 
mis_datos <- as_factor(mis_datos)

Se puede simplificar a esto:

mis_datos <- import("maca_meno_fase1.dta") %>% 
  as_factor()

Manejo de datos

Librería dplyr

  • El paquete dplyr es una ‘suite’ de funciones para manipular dato

Filtrado de datos con filter()

  • Extrae filas que cumplen cierta condición lógica

Filtrado de datos con filter() y comparadores

Filtrado de datos con filter() y booleanos

Filtrado de datos con filter() - ejemplo

  • Se tienen los datos originales:
datos_fase1 <- import("maca_meno_fase1.dta") %>% 
  as_factor()

datos_fase1
    id time treat age    race married married2        procedence weight height
1    1    0     1  33 Mestiza       1        0            Callao   59.0    1.4
2    1    1     1  32 Mestiza       1        0            Callao   59.9    1.3
3    2    0     3  27 Mestiza       1        0       Santa Anita   62.0    1.5
4    2    1     3  27 Mestiza       1        0       Santa Anita   62.1    1.6
5    3    0     2  25 Mestiza       1        0            Callao   62.0    1.6
6    3    1     2  25 Mestiza       1        0            Callao   60.0    1.6
7    4    0     2  37 Mestiza       2        0            Callao   60.9    1.5
8    4    1     2  38 Mestiza       2        0            Callao   61.4    1.5
9    5    0     1  31 Mestiza       1        0         La Molina   64.0    1.5
10   5    1     1  32 Mestiza       1        0         La Molina   58.1    1.6
11   6    0     1  38 Mestiza       5        1        Los Olivos   54.5    1.5
12   6    1     1  38 Mestiza       5        1        Los Olivos   53.9    1.5
13   7    0     2  26 Mestiza       5        1               SMP   59.1    1.6
14   7    1     2  26 Mestiza       5        1               SMP   58.6    1.6
15   8    0     1  34 Mestiza       5        1        Carabayllo   64.0    1.5
16   8    1     1  34 Mestiza       5        1        Carabayllo   59.0    1.5
17   9    0     3  30 Mestiza       1        0               SMP   61.0    1.6
18   9    1     3  30 Mestiza       1        0               SMP   63.1    1.7
19  10    0     1  38 Mestiza       1        0      Pueblo Libre   56.1    1.7
20  10    1     1  38 Mestiza       1        0      Pueblo Libre   54.9    1.5
21  11    0     3  37 Mestiza       5        1       El Agustino   72.0    1.6
22  11    1     3  36 Mestiza       5        1       El Agustino     NA     NA
23  12    0     3  33 Mestiza       1        0             Lince   68.0    1.5
24  12    1     3  33 Mestiza       1        0             Lince   68.0    1.5
25  13    0     3  25 Mestiza       5        1            Callao   48.5    1.5
26  13    1     3  25 Mestiza       5        1            Callao   54.0    1.5
27  14    0     1  33 Mestiza       1        0         Surquillo   65.0    1.6
28  14    1     1  33 Mestiza       1        0         Surquillo   64.5    1.6
29  15    0     1  37 Mestiza       5        1             Comas   50.5    1.4
30  15    1     1  37 Mestiza       5        1             Comas   50.1    1.5
31  16    0     2  30 Mestiza       1        0        Los Olivos   56.0    1.5
32  16    1     2  30 Mestiza       1        0        Los Olivos   55.9    1.5
33  17    0     1  40 Mestiza       3        0         Surquillo   65.0    1.6
34  17    1     1  40 Mestiza       3        0         Surquillo   65.0    1.6
35  18    0     1  36 Mestiza       5        1        Miraflores   70.0    1.6
36  18    1     1  36 Mestiza       5        1        Miraflores   71.0    1.7
37  19    0     3  35 Mestiza       1        0             Comas   52.1    1.6
38  19    1     3  35 Mestiza       1        0             Comas   53.0    1.5
39  20    0     1  22 Mestiza       1        0         Surquillo   59.0    1.5
40  20    1     1  22 Mestiza       1        0         Surquillo   59.0    1.5
41  21    0     1  29 Mestiza       5        1               SJL   56.9    1.4
42  21    1     1  29 Mestiza       5        1               SJL   57.1    1.5
43  22    0     2  41 Mestiza       1        0        Chorrillos   64.0    1.5
44  22    1     2  41 Mestiza       1        0        Chorrillos   63.0    1.5
45  23    0     2  27 Mestiza       1        0        Los Olivos   52.0    1.5
46  23    1     2  27 Mestiza       1        0        Los Olivos   51.0    1.5
47  24    0     2  25 Mestiza       5        1        Los Olivos   64.0    1.5
48  24    1     2  25 Mestiza       5        1        Los Olivos   64.0    1.5
49  25    0     1  37 Mestiza       5        1         San Borja   58.1    1.6
50  25    1     1  37 Mestiza       5        1         San Borja   54.0    1.6
51  26    0     1  32 Mestiza       5        1           Chosica   72.1    1.7
52  26    1     1  32 Mestiza       5        1           Chosica   68.5    1.6
53  27    0     2  31 Mestiza       1        0         San Borja   54.0    1.5
54  27    1     2  31 Mestiza       1        0         San Borja   55.0    1.5
55  28    0     3  40 Mestiza       5        1               SJL   81.5    1.6
56  28    1     3  40 Mestiza       5        1               SJL   70.1    1.6
57  29    0     2  23 Mestiza       1        0               SJL   49.0    1.6
58  29    1     2  23 Mestiza       1        0               SJL   50.1    1.6
59  30    0     2  31 Mestiza       5        1             Comas   54.9    1.5
60  30    1     2  31 Mestiza       5        1             Comas   56.0    1.5
61  31    0     2  38 Mestiza       1        0               VMT   65.0    1.5
62  31    1     2  38 Mestiza       1        0               VMT   65.0    1.5
63  32    0     3  38 Mestiza       5        1               SMP   59.0    1.5
64  32    1     3  38 Mestiza       5        1               SMP   58.0    1.5
65  33    0     3  41 Mestiza       5        1               SJL   74.0    1.7
66  33    1     3  41 Mestiza       5        1               SJL   74.5    1.7
67  34    0     2  40 Mestiza       1        0             Bre;a   72.6    1.5
68  34    1     2  40 Mestiza       1        0             Bre;a   76.0    1.6
69  35    0     3  30 Mestiza       5        1             Rimac   51.9    1.4
70  35    1     3  30 Mestiza       5        1             Rimac   53.0    1.4
71  36    0     2  39 Mestiza       1        0         Magdalena   81.0    1.5
72  36    1     2  39 Mestiza       1        0         Magdalena     NA     NA
73  37    0     3  30 Mestiza       1        0       El Agustino   51.0    1.5
74  37    1     3  30 Mestiza       1        0       El Agustino   51.4    1.4
75  38    0     3  37 Mestiza       5        1             Lince   62.0    1.5
76  38    1     3  37 Mestiza       5        1             Lince   62.5    1.5
77  39    0     3  23 Mestiza       1        0            Callao   56.0    1.5
78  39    1     3  23 Mestiza       1        0            Callao   56.0    1.5
79  40    0     1  20 Mestiza       1        0               VES   61.0    1.5
80  40    1     1  20 Mestiza       1        0               VES   60.0    1.5
81  41    0     2  31 Mestiza       5        1             Lince   91.9    1.5
82  41    1     2  31 Mestiza       5        1             Lince   92.1    1.7
83  42    0     3  39 Mestiza       5        1        Los Olivos   55.0    1.6
84  42    1     3  39 Mestiza       5        1        Los Olivos   56.0    1.6
85  43    0     1  36 Mestiza       1        0 Villa el Salvador   56.9    1.4
86  43    1     1  36 Mestiza       1        0 Villa el Salvador   57.6    1.6
87  44    0     2  28 Mestiza       5        1             Lince   55.9    1.4
88  44    1     2  28 Mestiza       5        1             Lince   57.0    1.6
89  45    0     1  35 Mestiza       5        1        Los Olivos   78.1    1.7
90  45    1     1  35 Mestiza       5        1        Los Olivos     NA     NA
91  46    0     3  36 Mestiza       5        1       El Agustino   65.1    1.7
92  46    1     3  36 Mestiza       5        1       El Agustino   65.5    1.7
93  47    0     3  35 Mestiza       1        0         Magdalena   54.0    1.5
94  47    1     3  35 Mestiza       1        0         Magdalena   53.0    1.5
95  48    0     1  27 Mestiza       1        0            Callao   55.9    1.4
96  48    1     1  27 Mestiza       1        0            Callao   54.9    1.5
97  49    0     3  35 Mestiza       5        1             Comas   57.0    1.4
98  49    1     3  35 Mestiza       5        1             Comas   56.8    1.5
99  50    0     3  28 Mestiza       5        1               VMT   73.1    1.6
100 50    1     3  28 Mestiza       5        1               VMT   71.7    1.4
101 51    0     2  41 Mestiza       5        1             Surco   65.0    1.5
102 51    1     2  41 Mestiza       5        1             Surco   64.9    1.5
103 52    0     2  34 Mestiza       4        1               SMP   59.0    1.6
104 52    1     2  34 Mestiza       4        1               SMP   54.0    1.5
105 53    0     3  33 Mestiza       1        0         La Molina   64.9    1.4
106 53    1     3  33 Mestiza       1        0         La Molina   66.0    1.5
        e2    lh   fsh  prog
1    87.30  3.28  1.95 14.20
2   210.05 26.85  8.83 12.95
3   169.01  6.34  4.32  0.50
4    99.91  5.77  1.70  9.61
5    78.76 11.86  2.81 10.46
6   155.04 10.14  4.51  5.04
7    40.99  4.57  3.81  4.64
8   109.03  7.29  2.39 11.73
9    43.01  7.81  2.01 15.11
10   56.05  9.15  3.66 11.46
11   36.25  2.89  3.86 10.85
12   44.67  5.87  3.09 12.03
13   91.28  3.25  4.77  9.54
14   91.34  3.31  4.83  9.60
15   65.65  6.08  2.11 13.65
16  134.04  3.99  1.53  9.53
17   49.58 10.88  4.04  0.55
18   46.28 17.58  4.65  0.08
19  114.88 12.28  1.58  8.73
20   71.47  1.57  2.40  3.68
21   66.38  5.38  5.31 13.58
22  110.32 32.02  3.55 19.10
23  403.99 28.69  3.53 21.89
24  178.96  7.02  1.67 16.46
25   73.80  4.30  2.86 14.80
26  130.15 15.85  5.78  6.95
27   47.35  4.56  3.44  4.84
28   59.20  6.15  2.06 10.00
29  143.09 92.89  1.98 23.29
30  110.18  8.28  5.26  5.82
31   80.99  7.27  5.81  0.69
32   73.12  3.82  3.55  3.80
33   91.76  5.35  2.25  6.59
34   73.00  5.37  2.10 11.20
35  131.00 19.20  1.74 11.20
36  261.03 49.33  2.17 14.63
37  164.96  6.48  1.89  9.69
38  165.02  6.54  1.95  9.75
39   98.95  5.68  3.17  0.98
40   33.15  3.45  5.39 12.65
41   71.61  6.54  1.94  9.37
42   29.55  1.02  6.72  0.41
43   91.41  1.81  9.13  0.55
44  111.98 32.58 21.18  0.22
45   87.62  3.96  5.34  9.50
46   93.67  3.19  5.62  7.25
47  158.96  5.75  3.83 12.26
48  120.03 13.13  4.66  3.45
49   66.97  1.46  4.68  2.94
50   93.10 35.40  6.80  2.21
51  116.97  1.58  3.39  2.93
52   21.15  1.85  3.50  5.88
53   40.44  6.03  2.29 10.94
54  140.00  3.76  2.63  9.77
55  104.09  4.77  2.89 10.99
56  150.07  8.07  4.37 12.02
57   59.55  7.01  4.06  2.72
58  129.97  2.94  1.55 16.57
59   96.97  5.95  5.42  3.92
60  160.40 24.10  2.03  7.58
61   48.53 10.33  3.60  0.14
62  124.00  8.26  6.43 10.90
63  108.94  3.27  3.45 10.04
64  122.97  5.63  5.37  9.79
65   56.65 12.95  5.18 14.45
66  219.99 15.09  7.18 12.99
67  150.06 49.16  1.26 28.46
68  170.49 46.19  2.61 11.30
69   85.74  3.54  1.83  4.58
70   46.48  3.38  4.65  4.21
71  109.87  2.95  3.61  8.64
72  103.95  2.06  1.57  8.99
73   76.06  2.81  3.92  5.67
74   45.26  1.17  2.41  5.86
75   26.21  7.50  3.71 20.51
76   81.91  3.02  1.99 10.41
77   58.90  2.24  1.57 10.90
78   75.49  2.64  7.96  0.91
79   98.62  2.42  4.51  5.97
80  267.99  2.39  0.82  1.47
81   45.39  5.47  4.11  9.58
82   58.67 14.77  3.67  3.71
83   48.53  3.03  2.33 21.53
84   21.40  1.98  4.18  0.63
85  132.01  6.74  8.91  9.96
86   39.65 13.25  5.41  0.26
87  139.94 61.44  5.43 12.64
88   27.29  4.31  4.00  9.04
89  122.98  4.95  4.38 21.48
90  366.07 14.87  5.49  7.42
91  386.97 14.77  1.93  9.39
92   91.74  5.64  5.25  9.43
93   77.89  4.99  1.28  7.09
94   77.32 24.92  4.63  7.90
95  185.02  4.28  3.72  5.79
96   28.87 17.47 12.07  1.45
97   31.49  3.15  2.33 20.69
98  110.16 12.16  3.96 11.54
99  121.67 23.17  1.57 13.37
100 217.02  4.27  2.66  1.47
101  47.80 14.90  1.78 15.00
102 120.17 21.07  4.30 16.29
103 289.00 60.20  9.95 11.80
104  75.78  4.38 14.23  9.96
105 136.89  3.63  2.01 10.69
106 217.00  4.26  5.36  0.20
  • Si se filtra solo para tener a los individuos en su medición basal:
datos_fase1 %>% 
  filter(time == "Baseline")
 [1] id         time       treat      age        race       married   
 [7] married2   procedence weight     height     e2         lh        
[13] fsh        prog      
<0 rows> (or 0-length row.names)
  • Podemos querer filtrar a los individuos en la medición basal Y que sean placebo:
datos_fase1 %>% 
  filter(time == "Baseline" & treat == "PLACEBO")
 [1] id         time       treat      age        race       married   
 [7] married2   procedence weight     height     e2         lh        
[13] fsh        prog      
<0 rows> (or 0-length row.names)
  • Podemos querer filtrar a los individuos en la medición basal O que sean placebo:
datos_fase1 %>% 
  filter(time == "Baseline" | treat == "PLACEBO")
 [1] id         time       treat      age        race       married   
 [7] married2   procedence weight     height     e2         lh        
[13] fsh        prog      
<0 rows> (or 0-length row.names)
  • Si queremos solo las mujeres entre 34 y 38 años de edad:
datos_fase1 %>% 
  filter(age >= 34 & age <= 38)
   id time treat age    race married married2        procedence weight height
1   4    0     2  37 Mestiza       2        0            Callao   60.9    1.5
2   4    1     2  38 Mestiza       2        0            Callao   61.4    1.5
3   6    0     1  38 Mestiza       5        1        Los Olivos   54.5    1.5
4   6    1     1  38 Mestiza       5        1        Los Olivos   53.9    1.5
5   8    0     1  34 Mestiza       5        1        Carabayllo   64.0    1.5
6   8    1     1  34 Mestiza       5        1        Carabayllo   59.0    1.5
7  10    0     1  38 Mestiza       1        0      Pueblo Libre   56.1    1.7
8  10    1     1  38 Mestiza       1        0      Pueblo Libre   54.9    1.5
9  11    0     3  37 Mestiza       5        1       El Agustino   72.0    1.6
10 11    1     3  36 Mestiza       5        1       El Agustino     NA     NA
11 15    0     1  37 Mestiza       5        1             Comas   50.5    1.4
12 15    1     1  37 Mestiza       5        1             Comas   50.1    1.5
13 18    0     1  36 Mestiza       5        1        Miraflores   70.0    1.6
14 18    1     1  36 Mestiza       5        1        Miraflores   71.0    1.7
15 19    0     3  35 Mestiza       1        0             Comas   52.1    1.6
16 19    1     3  35 Mestiza       1        0             Comas   53.0    1.5
17 25    0     1  37 Mestiza       5        1         San Borja   58.1    1.6
18 25    1     1  37 Mestiza       5        1         San Borja   54.0    1.6
19 31    0     2  38 Mestiza       1        0               VMT   65.0    1.5
20 31    1     2  38 Mestiza       1        0               VMT   65.0    1.5
21 32    0     3  38 Mestiza       5        1               SMP   59.0    1.5
22 32    1     3  38 Mestiza       5        1               SMP   58.0    1.5
23 38    0     3  37 Mestiza       5        1             Lince   62.0    1.5
24 38    1     3  37 Mestiza       5        1             Lince   62.5    1.5
25 43    0     1  36 Mestiza       1        0 Villa el Salvador   56.9    1.4
26 43    1     1  36 Mestiza       1        0 Villa el Salvador   57.6    1.6
27 45    0     1  35 Mestiza       5        1        Los Olivos   78.1    1.7
28 45    1     1  35 Mestiza       5        1        Los Olivos     NA     NA
29 46    0     3  36 Mestiza       5        1       El Agustino   65.1    1.7
30 46    1     3  36 Mestiza       5        1       El Agustino   65.5    1.7
31 47    0     3  35 Mestiza       1        0         Magdalena   54.0    1.5
32 47    1     3  35 Mestiza       1        0         Magdalena   53.0    1.5
33 49    0     3  35 Mestiza       5        1             Comas   57.0    1.4
34 49    1     3  35 Mestiza       5        1             Comas   56.8    1.5
35 52    0     2  34 Mestiza       4        1               SMP   59.0    1.6
36 52    1     2  34 Mestiza       4        1               SMP   54.0    1.5
       e2    lh   fsh  prog
1   40.99  4.57  3.81  4.64
2  109.03  7.29  2.39 11.73
3   36.25  2.89  3.86 10.85
4   44.67  5.87  3.09 12.03
5   65.65  6.08  2.11 13.65
6  134.04  3.99  1.53  9.53
7  114.88 12.28  1.58  8.73
8   71.47  1.57  2.40  3.68
9   66.38  5.38  5.31 13.58
10 110.32 32.02  3.55 19.10
11 143.09 92.89  1.98 23.29
12 110.18  8.28  5.26  5.82
13 131.00 19.20  1.74 11.20
14 261.03 49.33  2.17 14.63
15 164.96  6.48  1.89  9.69
16 165.02  6.54  1.95  9.75
17  66.97  1.46  4.68  2.94
18  93.10 35.40  6.80  2.21
19  48.53 10.33  3.60  0.14
20 124.00  8.26  6.43 10.90
21 108.94  3.27  3.45 10.04
22 122.97  5.63  5.37  9.79
23  26.21  7.50  3.71 20.51
24  81.91  3.02  1.99 10.41
25 132.01  6.74  8.91  9.96
26  39.65 13.25  5.41  0.26
27 122.98  4.95  4.38 21.48
28 366.07 14.87  5.49  7.42
29 386.97 14.77  1.93  9.39
30  91.74  5.64  5.25  9.43
31  77.89  4.99  1.28  7.09
32  77.32 24.92  4.63  7.90
33  31.49  3.15  2.33 20.69
34 110.16 12.16  3.96 11.54
35 289.00 60.20  9.95 11.80
36  75.78  4.38 14.23  9.96
  • Si queremos a quienes son de Santa Anita, Callao, SMP o Carabayllo:

Opción válida pero ineficiente:

datos_fase1 %>% 
  filter(procedence == "Santa Anita" | procedence == "Callao" | procedence == "SMP" | procedence == "Carabayllo")
   id time treat age    race married married2  procedence weight height     e2
1   1    0     1  33 Mestiza       1        0      Callao   59.0    1.4  87.30
2   1    1     1  32 Mestiza       1        0      Callao   59.9    1.3 210.05
3   2    0     3  27 Mestiza       1        0 Santa Anita   62.0    1.5 169.01
4   2    1     3  27 Mestiza       1        0 Santa Anita   62.1    1.6  99.91
5   3    0     2  25 Mestiza       1        0      Callao   62.0    1.6  78.76
6   3    1     2  25 Mestiza       1        0      Callao   60.0    1.6 155.04
7   4    0     2  37 Mestiza       2        0      Callao   60.9    1.5  40.99
8   4    1     2  38 Mestiza       2        0      Callao   61.4    1.5 109.03
9   7    0     2  26 Mestiza       5        1         SMP   59.1    1.6  91.28
10  7    1     2  26 Mestiza       5        1         SMP   58.6    1.6  91.34
11  8    0     1  34 Mestiza       5        1  Carabayllo   64.0    1.5  65.65
12  8    1     1  34 Mestiza       5        1  Carabayllo   59.0    1.5 134.04
13  9    0     3  30 Mestiza       1        0         SMP   61.0    1.6  49.58
14  9    1     3  30 Mestiza       1        0         SMP   63.1    1.7  46.28
15 13    0     3  25 Mestiza       5        1      Callao   48.5    1.5  73.80
16 13    1     3  25 Mestiza       5        1      Callao   54.0    1.5 130.15
17 32    0     3  38 Mestiza       5        1         SMP   59.0    1.5 108.94
18 32    1     3  38 Mestiza       5        1         SMP   58.0    1.5 122.97
19 39    0     3  23 Mestiza       1        0      Callao   56.0    1.5  58.90
20 39    1     3  23 Mestiza       1        0      Callao   56.0    1.5  75.49
21 48    0     1  27 Mestiza       1        0      Callao   55.9    1.4 185.02
22 48    1     1  27 Mestiza       1        0      Callao   54.9    1.5  28.87
23 52    0     2  34 Mestiza       4        1         SMP   59.0    1.6 289.00
24 52    1     2  34 Mestiza       4        1         SMP   54.0    1.5  75.78
      lh   fsh  prog
1   3.28  1.95 14.20
2  26.85  8.83 12.95
3   6.34  4.32  0.50
4   5.77  1.70  9.61
5  11.86  2.81 10.46
6  10.14  4.51  5.04
7   4.57  3.81  4.64
8   7.29  2.39 11.73
9   3.25  4.77  9.54
10  3.31  4.83  9.60
11  6.08  2.11 13.65
12  3.99  1.53  9.53
13 10.88  4.04  0.55
14 17.58  4.65  0.08
15  4.30  2.86 14.80
16 15.85  5.78  6.95
17  3.27  3.45 10.04
18  5.63  5.37  9.79
19  2.24  1.57 10.90
20  2.64  7.96  0.91
21  4.28  3.72  5.79
22 17.47 12.07  1.45
23 60.20  9.95 11.80
24  4.38 14.23  9.96

Opción válida y eficiente:

datos_fase1 %>% 
  filter(procedence %in% c("Santa Anita", "Callao", "SMP", "Carabayllo"))
   id time treat age    race married married2  procedence weight height     e2
1   1    0     1  33 Mestiza       1        0      Callao   59.0    1.4  87.30
2   1    1     1  32 Mestiza       1        0      Callao   59.9    1.3 210.05
3   2    0     3  27 Mestiza       1        0 Santa Anita   62.0    1.5 169.01
4   2    1     3  27 Mestiza       1        0 Santa Anita   62.1    1.6  99.91
5   3    0     2  25 Mestiza       1        0      Callao   62.0    1.6  78.76
6   3    1     2  25 Mestiza       1        0      Callao   60.0    1.6 155.04
7   4    0     2  37 Mestiza       2        0      Callao   60.9    1.5  40.99
8   4    1     2  38 Mestiza       2        0      Callao   61.4    1.5 109.03
9   7    0     2  26 Mestiza       5        1         SMP   59.1    1.6  91.28
10  7    1     2  26 Mestiza       5        1         SMP   58.6    1.6  91.34
11  8    0     1  34 Mestiza       5        1  Carabayllo   64.0    1.5  65.65
12  8    1     1  34 Mestiza       5        1  Carabayllo   59.0    1.5 134.04
13  9    0     3  30 Mestiza       1        0         SMP   61.0    1.6  49.58
14  9    1     3  30 Mestiza       1        0         SMP   63.1    1.7  46.28
15 13    0     3  25 Mestiza       5        1      Callao   48.5    1.5  73.80
16 13    1     3  25 Mestiza       5        1      Callao   54.0    1.5 130.15
17 32    0     3  38 Mestiza       5        1         SMP   59.0    1.5 108.94
18 32    1     3  38 Mestiza       5        1         SMP   58.0    1.5 122.97
19 39    0     3  23 Mestiza       1        0      Callao   56.0    1.5  58.90
20 39    1     3  23 Mestiza       1        0      Callao   56.0    1.5  75.49
21 48    0     1  27 Mestiza       1        0      Callao   55.9    1.4 185.02
22 48    1     1  27 Mestiza       1        0      Callao   54.9    1.5  28.87
23 52    0     2  34 Mestiza       4        1         SMP   59.0    1.6 289.00
24 52    1     2  34 Mestiza       4        1         SMP   54.0    1.5  75.78
      lh   fsh  prog
1   3.28  1.95 14.20
2  26.85  8.83 12.95
3   6.34  4.32  0.50
4   5.77  1.70  9.61
5  11.86  2.81 10.46
6  10.14  4.51  5.04
7   4.57  3.81  4.64
8   7.29  2.39 11.73
9   3.25  4.77  9.54
10  3.31  4.83  9.60
11  6.08  2.11 13.65
12  3.99  1.53  9.53
13 10.88  4.04  0.55
14 17.58  4.65  0.08
15  4.30  2.86 14.80
16 15.85  5.78  6.95
17  3.27  3.45 10.04
18  5.63  5.37  9.79
19  2.24  1.57 10.90
20  2.64  7.96  0.91
21  4.28  3.72  5.79
22 17.47 12.07  1.45
23 60.20  9.95 11.80
24  4.38 14.23  9.96


Selección de columnas con select()

  • La función select() selecciona columnas

  • El signo - permite elegir qué columnas eliminar.

  • A veces es mejor llamarla usando: dplyr::select() debido a que otros paquetes también tienen una función con el mismo nombre select()

Selección de columnas con select() - ejemplo

  • Los datos originales:
datos_fase1
    id time treat age    race married married2        procedence weight height
1    1    0     1  33 Mestiza       1        0            Callao   59.0    1.4
2    1    1     1  32 Mestiza       1        0            Callao   59.9    1.3
3    2    0     3  27 Mestiza       1        0       Santa Anita   62.0    1.5
4    2    1     3  27 Mestiza       1        0       Santa Anita   62.1    1.6
5    3    0     2  25 Mestiza       1        0            Callao   62.0    1.6
6    3    1     2  25 Mestiza       1        0            Callao   60.0    1.6
7    4    0     2  37 Mestiza       2        0            Callao   60.9    1.5
8    4    1     2  38 Mestiza       2        0            Callao   61.4    1.5
9    5    0     1  31 Mestiza       1        0         La Molina   64.0    1.5
10   5    1     1  32 Mestiza       1        0         La Molina   58.1    1.6
11   6    0     1  38 Mestiza       5        1        Los Olivos   54.5    1.5
12   6    1     1  38 Mestiza       5        1        Los Olivos   53.9    1.5
13   7    0     2  26 Mestiza       5        1               SMP   59.1    1.6
14   7    1     2  26 Mestiza       5        1               SMP   58.6    1.6
15   8    0     1  34 Mestiza       5        1        Carabayllo   64.0    1.5
16   8    1     1  34 Mestiza       5        1        Carabayllo   59.0    1.5
17   9    0     3  30 Mestiza       1        0               SMP   61.0    1.6
18   9    1     3  30 Mestiza       1        0               SMP   63.1    1.7
19  10    0     1  38 Mestiza       1        0      Pueblo Libre   56.1    1.7
20  10    1     1  38 Mestiza       1        0      Pueblo Libre   54.9    1.5
21  11    0     3  37 Mestiza       5        1       El Agustino   72.0    1.6
22  11    1     3  36 Mestiza       5        1       El Agustino     NA     NA
23  12    0     3  33 Mestiza       1        0             Lince   68.0    1.5
24  12    1     3  33 Mestiza       1        0             Lince   68.0    1.5
25  13    0     3  25 Mestiza       5        1            Callao   48.5    1.5
26  13    1     3  25 Mestiza       5        1            Callao   54.0    1.5
27  14    0     1  33 Mestiza       1        0         Surquillo   65.0    1.6
28  14    1     1  33 Mestiza       1        0         Surquillo   64.5    1.6
29  15    0     1  37 Mestiza       5        1             Comas   50.5    1.4
30  15    1     1  37 Mestiza       5        1             Comas   50.1    1.5
31  16    0     2  30 Mestiza       1        0        Los Olivos   56.0    1.5
32  16    1     2  30 Mestiza       1        0        Los Olivos   55.9    1.5
33  17    0     1  40 Mestiza       3        0         Surquillo   65.0    1.6
34  17    1     1  40 Mestiza       3        0         Surquillo   65.0    1.6
35  18    0     1  36 Mestiza       5        1        Miraflores   70.0    1.6
36  18    1     1  36 Mestiza       5        1        Miraflores   71.0    1.7
37  19    0     3  35 Mestiza       1        0             Comas   52.1    1.6
38  19    1     3  35 Mestiza       1        0             Comas   53.0    1.5
39  20    0     1  22 Mestiza       1        0         Surquillo   59.0    1.5
40  20    1     1  22 Mestiza       1        0         Surquillo   59.0    1.5
41  21    0     1  29 Mestiza       5        1               SJL   56.9    1.4
42  21    1     1  29 Mestiza       5        1               SJL   57.1    1.5
43  22    0     2  41 Mestiza       1        0        Chorrillos   64.0    1.5
44  22    1     2  41 Mestiza       1        0        Chorrillos   63.0    1.5
45  23    0     2  27 Mestiza       1        0        Los Olivos   52.0    1.5
46  23    1     2  27 Mestiza       1        0        Los Olivos   51.0    1.5
47  24    0     2  25 Mestiza       5        1        Los Olivos   64.0    1.5
48  24    1     2  25 Mestiza       5        1        Los Olivos   64.0    1.5
49  25    0     1  37 Mestiza       5        1         San Borja   58.1    1.6
50  25    1     1  37 Mestiza       5        1         San Borja   54.0    1.6
51  26    0     1  32 Mestiza       5        1           Chosica   72.1    1.7
52  26    1     1  32 Mestiza       5        1           Chosica   68.5    1.6
53  27    0     2  31 Mestiza       1        0         San Borja   54.0    1.5
54  27    1     2  31 Mestiza       1        0         San Borja   55.0    1.5
55  28    0     3  40 Mestiza       5        1               SJL   81.5    1.6
56  28    1     3  40 Mestiza       5        1               SJL   70.1    1.6
57  29    0     2  23 Mestiza       1        0               SJL   49.0    1.6
58  29    1     2  23 Mestiza       1        0               SJL   50.1    1.6
59  30    0     2  31 Mestiza       5        1             Comas   54.9    1.5
60  30    1     2  31 Mestiza       5        1             Comas   56.0    1.5
61  31    0     2  38 Mestiza       1        0               VMT   65.0    1.5
62  31    1     2  38 Mestiza       1        0               VMT   65.0    1.5
63  32    0     3  38 Mestiza       5        1               SMP   59.0    1.5
64  32    1     3  38 Mestiza       5        1               SMP   58.0    1.5
65  33    0     3  41 Mestiza       5        1               SJL   74.0    1.7
66  33    1     3  41 Mestiza       5        1               SJL   74.5    1.7
67  34    0     2  40 Mestiza       1        0             Bre;a   72.6    1.5
68  34    1     2  40 Mestiza       1        0             Bre;a   76.0    1.6
69  35    0     3  30 Mestiza       5        1             Rimac   51.9    1.4
70  35    1     3  30 Mestiza       5        1             Rimac   53.0    1.4
71  36    0     2  39 Mestiza       1        0         Magdalena   81.0    1.5
72  36    1     2  39 Mestiza       1        0         Magdalena     NA     NA
73  37    0     3  30 Mestiza       1        0       El Agustino   51.0    1.5
74  37    1     3  30 Mestiza       1        0       El Agustino   51.4    1.4
75  38    0     3  37 Mestiza       5        1             Lince   62.0    1.5
76  38    1     3  37 Mestiza       5        1             Lince   62.5    1.5
77  39    0     3  23 Mestiza       1        0            Callao   56.0    1.5
78  39    1     3  23 Mestiza       1        0            Callao   56.0    1.5
79  40    0     1  20 Mestiza       1        0               VES   61.0    1.5
80  40    1     1  20 Mestiza       1        0               VES   60.0    1.5
81  41    0     2  31 Mestiza       5        1             Lince   91.9    1.5
82  41    1     2  31 Mestiza       5        1             Lince   92.1    1.7
83  42    0     3  39 Mestiza       5        1        Los Olivos   55.0    1.6
84  42    1     3  39 Mestiza       5        1        Los Olivos   56.0    1.6
85  43    0     1  36 Mestiza       1        0 Villa el Salvador   56.9    1.4
86  43    1     1  36 Mestiza       1        0 Villa el Salvador   57.6    1.6
87  44    0     2  28 Mestiza       5        1             Lince   55.9    1.4
88  44    1     2  28 Mestiza       5        1             Lince   57.0    1.6
89  45    0     1  35 Mestiza       5        1        Los Olivos   78.1    1.7
90  45    1     1  35 Mestiza       5        1        Los Olivos     NA     NA
91  46    0     3  36 Mestiza       5        1       El Agustino   65.1    1.7
92  46    1     3  36 Mestiza       5        1       El Agustino   65.5    1.7
93  47    0     3  35 Mestiza       1        0         Magdalena   54.0    1.5
94  47    1     3  35 Mestiza       1        0         Magdalena   53.0    1.5
95  48    0     1  27 Mestiza       1        0            Callao   55.9    1.4
96  48    1     1  27 Mestiza       1        0            Callao   54.9    1.5
97  49    0     3  35 Mestiza       5        1             Comas   57.0    1.4
98  49    1     3  35 Mestiza       5        1             Comas   56.8    1.5
99  50    0     3  28 Mestiza       5        1               VMT   73.1    1.6
100 50    1     3  28 Mestiza       5        1               VMT   71.7    1.4
101 51    0     2  41 Mestiza       5        1             Surco   65.0    1.5
102 51    1     2  41 Mestiza       5        1             Surco   64.9    1.5
103 52    0     2  34 Mestiza       4        1               SMP   59.0    1.6
104 52    1     2  34 Mestiza       4        1               SMP   54.0    1.5
105 53    0     3  33 Mestiza       1        0         La Molina   64.9    1.4
106 53    1     3  33 Mestiza       1        0         La Molina   66.0    1.5
        e2    lh   fsh  prog
1    87.30  3.28  1.95 14.20
2   210.05 26.85  8.83 12.95
3   169.01  6.34  4.32  0.50
4    99.91  5.77  1.70  9.61
5    78.76 11.86  2.81 10.46
6   155.04 10.14  4.51  5.04
7    40.99  4.57  3.81  4.64
8   109.03  7.29  2.39 11.73
9    43.01  7.81  2.01 15.11
10   56.05  9.15  3.66 11.46
11   36.25  2.89  3.86 10.85
12   44.67  5.87  3.09 12.03
13   91.28  3.25  4.77  9.54
14   91.34  3.31  4.83  9.60
15   65.65  6.08  2.11 13.65
16  134.04  3.99  1.53  9.53
17   49.58 10.88  4.04  0.55
18   46.28 17.58  4.65  0.08
19  114.88 12.28  1.58  8.73
20   71.47  1.57  2.40  3.68
21   66.38  5.38  5.31 13.58
22  110.32 32.02  3.55 19.10
23  403.99 28.69  3.53 21.89
24  178.96  7.02  1.67 16.46
25   73.80  4.30  2.86 14.80
26  130.15 15.85  5.78  6.95
27   47.35  4.56  3.44  4.84
28   59.20  6.15  2.06 10.00
29  143.09 92.89  1.98 23.29
30  110.18  8.28  5.26  5.82
31   80.99  7.27  5.81  0.69
32   73.12  3.82  3.55  3.80
33   91.76  5.35  2.25  6.59
34   73.00  5.37  2.10 11.20
35  131.00 19.20  1.74 11.20
36  261.03 49.33  2.17 14.63
37  164.96  6.48  1.89  9.69
38  165.02  6.54  1.95  9.75
39   98.95  5.68  3.17  0.98
40   33.15  3.45  5.39 12.65
41   71.61  6.54  1.94  9.37
42   29.55  1.02  6.72  0.41
43   91.41  1.81  9.13  0.55
44  111.98 32.58 21.18  0.22
45   87.62  3.96  5.34  9.50
46   93.67  3.19  5.62  7.25
47  158.96  5.75  3.83 12.26
48  120.03 13.13  4.66  3.45
49   66.97  1.46  4.68  2.94
50   93.10 35.40  6.80  2.21
51  116.97  1.58  3.39  2.93
52   21.15  1.85  3.50  5.88
53   40.44  6.03  2.29 10.94
54  140.00  3.76  2.63  9.77
55  104.09  4.77  2.89 10.99
56  150.07  8.07  4.37 12.02
57   59.55  7.01  4.06  2.72
58  129.97  2.94  1.55 16.57
59   96.97  5.95  5.42  3.92
60  160.40 24.10  2.03  7.58
61   48.53 10.33  3.60  0.14
62  124.00  8.26  6.43 10.90
63  108.94  3.27  3.45 10.04
64  122.97  5.63  5.37  9.79
65   56.65 12.95  5.18 14.45
66  219.99 15.09  7.18 12.99
67  150.06 49.16  1.26 28.46
68  170.49 46.19  2.61 11.30
69   85.74  3.54  1.83  4.58
70   46.48  3.38  4.65  4.21
71  109.87  2.95  3.61  8.64
72  103.95  2.06  1.57  8.99
73   76.06  2.81  3.92  5.67
74   45.26  1.17  2.41  5.86
75   26.21  7.50  3.71 20.51
76   81.91  3.02  1.99 10.41
77   58.90  2.24  1.57 10.90
78   75.49  2.64  7.96  0.91
79   98.62  2.42  4.51  5.97
80  267.99  2.39  0.82  1.47
81   45.39  5.47  4.11  9.58
82   58.67 14.77  3.67  3.71
83   48.53  3.03  2.33 21.53
84   21.40  1.98  4.18  0.63
85  132.01  6.74  8.91  9.96
86   39.65 13.25  5.41  0.26
87  139.94 61.44  5.43 12.64
88   27.29  4.31  4.00  9.04
89  122.98  4.95  4.38 21.48
90  366.07 14.87  5.49  7.42
91  386.97 14.77  1.93  9.39
92   91.74  5.64  5.25  9.43
93   77.89  4.99  1.28  7.09
94   77.32 24.92  4.63  7.90
95  185.02  4.28  3.72  5.79
96   28.87 17.47 12.07  1.45
97   31.49  3.15  2.33 20.69
98  110.16 12.16  3.96 11.54
99  121.67 23.17  1.57 13.37
100 217.02  4.27  2.66  1.47
101  47.80 14.90  1.78 15.00
102 120.17 21.07  4.30 16.29
103 289.00 60.20  9.95 11.80
104  75.78  4.38 14.23  9.96
105 136.89  3.63  2.01 10.69
106 217.00  4.26  5.36  0.20
  • Si solo quiero seleccionar a id, time, age, race y procedence:
datos_fase1_seleccionados <- datos_fase1 %>% 
  select(id, time, age, race, procedence)

datos_fase1_seleccionados 
    id time age    race        procedence
1    1    0  33 Mestiza            Callao
2    1    1  32 Mestiza            Callao
3    2    0  27 Mestiza       Santa Anita
4    2    1  27 Mestiza       Santa Anita
5    3    0  25 Mestiza            Callao
6    3    1  25 Mestiza            Callao
7    4    0  37 Mestiza            Callao
8    4    1  38 Mestiza            Callao
9    5    0  31 Mestiza         La Molina
10   5    1  32 Mestiza         La Molina
11   6    0  38 Mestiza        Los Olivos
12   6    1  38 Mestiza        Los Olivos
13   7    0  26 Mestiza               SMP
14   7    1  26 Mestiza               SMP
15   8    0  34 Mestiza        Carabayllo
16   8    1  34 Mestiza        Carabayllo
17   9    0  30 Mestiza               SMP
18   9    1  30 Mestiza               SMP
19  10    0  38 Mestiza      Pueblo Libre
20  10    1  38 Mestiza      Pueblo Libre
21  11    0  37 Mestiza       El Agustino
22  11    1  36 Mestiza       El Agustino
23  12    0  33 Mestiza             Lince
24  12    1  33 Mestiza             Lince
25  13    0  25 Mestiza            Callao
26  13    1  25 Mestiza            Callao
27  14    0  33 Mestiza         Surquillo
28  14    1  33 Mestiza         Surquillo
29  15    0  37 Mestiza             Comas
30  15    1  37 Mestiza             Comas
31  16    0  30 Mestiza        Los Olivos
32  16    1  30 Mestiza        Los Olivos
33  17    0  40 Mestiza         Surquillo
34  17    1  40 Mestiza         Surquillo
35  18    0  36 Mestiza        Miraflores
36  18    1  36 Mestiza        Miraflores
37  19    0  35 Mestiza             Comas
38  19    1  35 Mestiza             Comas
39  20    0  22 Mestiza         Surquillo
40  20    1  22 Mestiza         Surquillo
41  21    0  29 Mestiza               SJL
42  21    1  29 Mestiza               SJL
43  22    0  41 Mestiza        Chorrillos
44  22    1  41 Mestiza        Chorrillos
45  23    0  27 Mestiza        Los Olivos
46  23    1  27 Mestiza        Los Olivos
47  24    0  25 Mestiza        Los Olivos
48  24    1  25 Mestiza        Los Olivos
49  25    0  37 Mestiza         San Borja
50  25    1  37 Mestiza         San Borja
51  26    0  32 Mestiza           Chosica
52  26    1  32 Mestiza           Chosica
53  27    0  31 Mestiza         San Borja
54  27    1  31 Mestiza         San Borja
55  28    0  40 Mestiza               SJL
56  28    1  40 Mestiza               SJL
57  29    0  23 Mestiza               SJL
58  29    1  23 Mestiza               SJL
59  30    0  31 Mestiza             Comas
60  30    1  31 Mestiza             Comas
61  31    0  38 Mestiza               VMT
62  31    1  38 Mestiza               VMT
63  32    0  38 Mestiza               SMP
64  32    1  38 Mestiza               SMP
65  33    0  41 Mestiza               SJL
66  33    1  41 Mestiza               SJL
67  34    0  40 Mestiza             Bre;a
68  34    1  40 Mestiza             Bre;a
69  35    0  30 Mestiza             Rimac
70  35    1  30 Mestiza             Rimac
71  36    0  39 Mestiza         Magdalena
72  36    1  39 Mestiza         Magdalena
73  37    0  30 Mestiza       El Agustino
74  37    1  30 Mestiza       El Agustino
75  38    0  37 Mestiza             Lince
76  38    1  37 Mestiza             Lince
77  39    0  23 Mestiza            Callao
78  39    1  23 Mestiza            Callao
79  40    0  20 Mestiza               VES
80  40    1  20 Mestiza               VES
81  41    0  31 Mestiza             Lince
82  41    1  31 Mestiza             Lince
83  42    0  39 Mestiza        Los Olivos
84  42    1  39 Mestiza        Los Olivos
85  43    0  36 Mestiza Villa el Salvador
86  43    1  36 Mestiza Villa el Salvador
87  44    0  28 Mestiza             Lince
88  44    1  28 Mestiza             Lince
89  45    0  35 Mestiza        Los Olivos
90  45    1  35 Mestiza        Los Olivos
91  46    0  36 Mestiza       El Agustino
92  46    1  36 Mestiza       El Agustino
93  47    0  35 Mestiza         Magdalena
94  47    1  35 Mestiza         Magdalena
95  48    0  27 Mestiza            Callao
96  48    1  27 Mestiza            Callao
97  49    0  35 Mestiza             Comas
98  49    1  35 Mestiza             Comas
99  50    0  28 Mestiza               VMT
100 50    1  28 Mestiza               VMT
101 51    0  41 Mestiza             Surco
102 51    1  41 Mestiza             Surco
103 52    0  34 Mestiza               SMP
104 52    1  34 Mestiza               SMP
105 53    0  33 Mestiza         La Molina
106 53    1  33 Mestiza         La Molina
  • Si quisiera excluir a procedence:
datos_fase1_seleccionados %>% 
  select(-procedence) #notar el signo -
    id time age    race
1    1    0  33 Mestiza
2    1    1  32 Mestiza
3    2    0  27 Mestiza
4    2    1  27 Mestiza
5    3    0  25 Mestiza
6    3    1  25 Mestiza
7    4    0  37 Mestiza
8    4    1  38 Mestiza
9    5    0  31 Mestiza
10   5    1  32 Mestiza
11   6    0  38 Mestiza
12   6    1  38 Mestiza
13   7    0  26 Mestiza
14   7    1  26 Mestiza
15   8    0  34 Mestiza
16   8    1  34 Mestiza
17   9    0  30 Mestiza
18   9    1  30 Mestiza
19  10    0  38 Mestiza
20  10    1  38 Mestiza
21  11    0  37 Mestiza
22  11    1  36 Mestiza
23  12    0  33 Mestiza
24  12    1  33 Mestiza
25  13    0  25 Mestiza
26  13    1  25 Mestiza
27  14    0  33 Mestiza
28  14    1  33 Mestiza
29  15    0  37 Mestiza
30  15    1  37 Mestiza
31  16    0  30 Mestiza
32  16    1  30 Mestiza
33  17    0  40 Mestiza
34  17    1  40 Mestiza
35  18    0  36 Mestiza
36  18    1  36 Mestiza
37  19    0  35 Mestiza
38  19    1  35 Mestiza
39  20    0  22 Mestiza
40  20    1  22 Mestiza
41  21    0  29 Mestiza
42  21    1  29 Mestiza
43  22    0  41 Mestiza
44  22    1  41 Mestiza
45  23    0  27 Mestiza
46  23    1  27 Mestiza
47  24    0  25 Mestiza
48  24    1  25 Mestiza
49  25    0  37 Mestiza
50  25    1  37 Mestiza
51  26    0  32 Mestiza
52  26    1  32 Mestiza
53  27    0  31 Mestiza
54  27    1  31 Mestiza
55  28    0  40 Mestiza
56  28    1  40 Mestiza
57  29    0  23 Mestiza
58  29    1  23 Mestiza
59  30    0  31 Mestiza
60  30    1  31 Mestiza
61  31    0  38 Mestiza
62  31    1  38 Mestiza
63  32    0  38 Mestiza
64  32    1  38 Mestiza
65  33    0  41 Mestiza
66  33    1  41 Mestiza
67  34    0  40 Mestiza
68  34    1  40 Mestiza
69  35    0  30 Mestiza
70  35    1  30 Mestiza
71  36    0  39 Mestiza
72  36    1  39 Mestiza
73  37    0  30 Mestiza
74  37    1  30 Mestiza
75  38    0  37 Mestiza
76  38    1  37 Mestiza
77  39    0  23 Mestiza
78  39    1  23 Mestiza
79  40    0  20 Mestiza
80  40    1  20 Mestiza
81  41    0  31 Mestiza
82  41    1  31 Mestiza
83  42    0  39 Mestiza
84  42    1  39 Mestiza
85  43    0  36 Mestiza
86  43    1  36 Mestiza
87  44    0  28 Mestiza
88  44    1  28 Mestiza
89  45    0  35 Mestiza
90  45    1  35 Mestiza
91  46    0  36 Mestiza
92  46    1  36 Mestiza
93  47    0  35 Mestiza
94  47    1  35 Mestiza
95  48    0  27 Mestiza
96  48    1  27 Mestiza
97  49    0  35 Mestiza
98  49    1  35 Mestiza
99  50    0  28 Mestiza
100 50    1  28 Mestiza
101 51    0  41 Mestiza
102 51    1  41 Mestiza
103 52    0  34 Mestiza
104 52    1  34 Mestiza
105 53    0  33 Mestiza
106 53    1  33 Mestiza

Podemos anidar con %>% varias tareas

datos_fase1 %>% 
  filter(age > 35) %>% # Primero filtro por age
  select(id, time, treat, race, age) # Luego me quedo solo con estas 5 columnas
   id time treat    race age
1   4    0     2 Mestiza  37
2   4    1     2 Mestiza  38
3   6    0     1 Mestiza  38
4   6    1     1 Mestiza  38
5  10    0     1 Mestiza  38
6  10    1     1 Mestiza  38
7  11    0     3 Mestiza  37
8  11    1     3 Mestiza  36
9  15    0     1 Mestiza  37
10 15    1     1 Mestiza  37
11 17    0     1 Mestiza  40
12 17    1     1 Mestiza  40
13 18    0     1 Mestiza  36
14 18    1     1 Mestiza  36
15 22    0     2 Mestiza  41
16 22    1     2 Mestiza  41
17 25    0     1 Mestiza  37
18 25    1     1 Mestiza  37
19 28    0     3 Mestiza  40
20 28    1     3 Mestiza  40
21 31    0     2 Mestiza  38
22 31    1     2 Mestiza  38
23 32    0     3 Mestiza  38
24 32    1     3 Mestiza  38
25 33    0     3 Mestiza  41
26 33    1     3 Mestiza  41
27 34    0     2 Mestiza  40
28 34    1     2 Mestiza  40
29 36    0     2 Mestiza  39
30 36    1     2 Mestiza  39
31 38    0     3 Mestiza  37
32 38    1     3 Mestiza  37
33 42    0     3 Mestiza  39
34 42    1     3 Mestiza  39
35 43    0     1 Mestiza  36
36 43    1     1 Mestiza  36
37 46    0     3 Mestiza  36
38 46    1     3 Mestiza  36
39 51    0     2 Mestiza  41
40 51    1     2 Mestiza  41

Creación de nuevas columnas con mutate()

  • La función mutate() crea nuevas columnas en base a otras.

Creación de nuevas columnas con mutate() - ejemplo

  • Si queremos crear la variable índice de masa corporal:
datos_fase1 %>% 
  select(id, weight, height) %>% # Nos quedamos con peso y talla 
  mutate(imc = weight / height ^ 2) # Creamos IMC en base a peso y talla
    id weight height      imc
1    1   59.0    1.4 30.10204
2    1   59.9    1.3 35.44379
3    2   62.0    1.5 27.55556
4    2   62.1    1.6 24.25781
5    3   62.0    1.6 24.21875
6    3   60.0    1.6 23.43750
7    4   60.9    1.5 27.06667
8    4   61.4    1.5 27.28889
9    5   64.0    1.5 28.44444
10   5   58.1    1.6 22.69531
11   6   54.5    1.5 24.22222
12   6   53.9    1.5 23.95556
13   7   59.1    1.6 23.08594
14   7   58.6    1.6 22.89062
15   8   64.0    1.5 28.44444
16   8   59.0    1.5 26.22222
17   9   61.0    1.6 23.82812
18   9   63.1    1.7 21.83391
19  10   56.1    1.7 19.41176
20  10   54.9    1.5 24.40000
21  11   72.0    1.6 28.12500
22  11     NA     NA       NA
23  12   68.0    1.5 30.22222
24  12   68.0    1.5 30.22222
25  13   48.5    1.5 21.55556
26  13   54.0    1.5 24.00000
27  14   65.0    1.6 25.39062
28  14   64.5    1.6 25.19531
29  15   50.5    1.4 25.76531
30  15   50.1    1.5 22.26667
31  16   56.0    1.5 24.88889
32  16   55.9    1.5 24.84444
33  17   65.0    1.6 25.39062
34  17   65.0    1.6 25.39062
35  18   70.0    1.6 27.34375
36  18   71.0    1.7 24.56747
37  19   52.1    1.6 20.35156
38  19   53.0    1.5 23.55556
39  20   59.0    1.5 26.22222
40  20   59.0    1.5 26.22222
41  21   56.9    1.4 29.03061
42  21   57.1    1.5 25.37778
43  22   64.0    1.5 28.44444
44  22   63.0    1.5 28.00000
45  23   52.0    1.5 23.11111
46  23   51.0    1.5 22.66667
47  24   64.0    1.5 28.44444
48  24   64.0    1.5 28.44444
49  25   58.1    1.6 22.69531
50  25   54.0    1.6 21.09375
51  26   72.1    1.7 24.94810
52  26   68.5    1.6 26.75781
53  27   54.0    1.5 24.00000
54  27   55.0    1.5 24.44444
55  28   81.5    1.6 31.83594
56  28   70.1    1.6 27.38281
57  29   49.0    1.6 19.14062
58  29   50.1    1.6 19.57031
59  30   54.9    1.5 24.40000
60  30   56.0    1.5 24.88889
61  31   65.0    1.5 28.88889
62  31   65.0    1.5 28.88889
63  32   59.0    1.5 26.22222
64  32   58.0    1.5 25.77778
65  33   74.0    1.7 25.60554
66  33   74.5    1.7 25.77855
67  34   72.6    1.5 32.26667
68  34   76.0    1.6 29.68750
69  35   51.9    1.4 26.47959
70  35   53.0    1.4 27.04082
71  36   81.0    1.5 36.00000
72  36     NA     NA       NA
73  37   51.0    1.5 22.66667
74  37   51.4    1.4 26.22449
75  38   62.0    1.5 27.55556
76  38   62.5    1.5 27.77778
77  39   56.0    1.5 24.88889
78  39   56.0    1.5 24.88889
79  40   61.0    1.5 27.11111
80  40   60.0    1.5 26.66667
81  41   91.9    1.5 40.84444
82  41   92.1    1.7 31.86851
83  42   55.0    1.6 21.48437
84  42   56.0    1.6 21.87500
85  43   56.9    1.4 29.03061
86  43   57.6    1.6 22.50000
87  44   55.9    1.4 28.52041
88  44   57.0    1.6 22.26562
89  45   78.1    1.7 27.02422
90  45     NA     NA       NA
91  46   65.1    1.7 22.52595
92  46   65.5    1.7 22.66436
93  47   54.0    1.5 24.00000
94  47   53.0    1.5 23.55556
95  48   55.9    1.4 28.52041
96  48   54.9    1.5 24.40000
97  49   57.0    1.4 29.08163
98  49   56.8    1.5 25.24444
99  50   73.1    1.6 28.55469
100 50   71.7    1.4 36.58163
101 51   65.0    1.5 28.88889
102 51   64.9    1.5 28.84444
103 52   59.0    1.6 23.04687
104 52   54.0    1.5 24.00000
105 53   64.9    1.4 33.11224
106 53   66.0    1.5 29.33333

Modificación de columnas existentes con mutate()

  • mutate() también remplaza columnas existentes.

  • Tener cuidado si se quiere reutilizar la variable original, en ese caso es mejor crear columna nueva.

Modificación de columnas existentes con mutate() - ejemplo

  • Queremos que la edad sea reportada en meses:

Podríamos crear una columna nueva para edad en meses:

datos_fase1 %>% 
  select(id, age) %>% 
  mutate(age2 = age * 12) # Notar que se creó una columa nueva llamada age2
    id age age2
1    1  33  396
2    1  32  384
3    2  27  324
4    2  27  324
5    3  25  300
6    3  25  300
7    4  37  444
8    4  38  456
9    5  31  372
10   5  32  384
11   6  38  456
12   6  38  456
13   7  26  312
14   7  26  312
15   8  34  408
16   8  34  408
17   9  30  360
18   9  30  360
19  10  38  456
20  10  38  456
21  11  37  444
22  11  36  432
23  12  33  396
24  12  33  396
25  13  25  300
26  13  25  300
27  14  33  396
28  14  33  396
29  15  37  444
30  15  37  444
31  16  30  360
32  16  30  360
33  17  40  480
34  17  40  480
35  18  36  432
36  18  36  432
37  19  35  420
38  19  35  420
39  20  22  264
40  20  22  264
41  21  29  348
42  21  29  348
43  22  41  492
44  22  41  492
45  23  27  324
46  23  27  324
47  24  25  300
48  24  25  300
49  25  37  444
50  25  37  444
51  26  32  384
52  26  32  384
53  27  31  372
54  27  31  372
55  28  40  480
56  28  40  480
57  29  23  276
58  29  23  276
59  30  31  372
60  30  31  372
61  31  38  456
62  31  38  456
63  32  38  456
64  32  38  456
65  33  41  492
66  33  41  492
67  34  40  480
68  34  40  480
69  35  30  360
70  35  30  360
71  36  39  468
72  36  39  468
73  37  30  360
74  37  30  360
75  38  37  444
76  38  37  444
77  39  23  276
78  39  23  276
79  40  20  240
80  40  20  240
81  41  31  372
82  41  31  372
83  42  39  468
84  42  39  468
85  43  36  432
86  43  36  432
87  44  28  336
88  44  28  336
89  45  35  420
90  45  35  420
91  46  36  432
92  46  36  432
93  47  35  420
94  47  35  420
95  48  27  324
96  48  27  324
97  49  35  420
98  49  35  420
99  50  28  336
100 50  28  336
101 51  41  492
102 51  41  492
103 52  34  408
104 52  34  408
105 53  33  396
106 53  33  396

La otra opción es remplazar la edad:

datos_fase1 %>% 
  select(id, age) %>% 
  mutate(age = age * 12) # Notar que se remplazó age 
    id age
1    1 396
2    1 384
3    2 324
4    2 324
5    3 300
6    3 300
7    4 444
8    4 456
9    5 372
10   5 384
11   6 456
12   6 456
13   7 312
14   7 312
15   8 408
16   8 408
17   9 360
18   9 360
19  10 456
20  10 456
21  11 444
22  11 432
23  12 396
24  12 396
25  13 300
26  13 300
27  14 396
28  14 396
29  15 444
30  15 444
31  16 360
32  16 360
33  17 480
34  17 480
35  18 432
36  18 432
37  19 420
38  19 420
39  20 264
40  20 264
41  21 348
42  21 348
43  22 492
44  22 492
45  23 324
46  23 324
47  24 300
48  24 300
49  25 444
50  25 444
51  26 384
52  26 384
53  27 372
54  27 372
55  28 480
56  28 480
57  29 276
58  29 276
59  30 372
60  30 372
61  31 456
62  31 456
63  32 456
64  32 456
65  33 492
66  33 492
67  34 480
68  34 480
69  35 360
70  35 360
71  36 468
72  36 468
73  37 360
74  37 360
75  38 444
76  38 444
77  39 276
78  39 276
79  40 240
80  40 240
81  41 372
82  41 372
83  42 468
84  42 468
85  43 432
86  43 432
87  44 336
88  44 336
89  45 420
90  45 420
91  46 432
92  46 432
93  47 420
94  47 420
95  48 324
96  48 324
97  49 420
98  49 420
99  50 336
100 50 336
101 51 492
102 51 492
103 52 408
104 52 408
105 53 396
106 53 396

Categorización de variables con case_when()

  • Función de apoyo a mutate().

  • Categoriza variables de acuerdo a condiciones complejas

Categorización de variables con case_when()-ejemplo

  • Se quieren crear categorías de edad: 20-30, 31-35 y 36-41
datos_fase1 %>% 
  select(id, age) %>% 
  mutate(agecat = case_when(age >= 20 & age <= 30 ~ "20-30", 
                            age >= 31 & age <= 35 ~ "31-35", 
                            age >= 36 & age <= 41 ~ "36-41", 
                            TRUE ~ as.character(NA))) # Siempre cerrar con esto
    id age agecat
1    1  33  31-35
2    1  32  31-35
3    2  27  20-30
4    2  27  20-30
5    3  25  20-30
6    3  25  20-30
7    4  37  36-41
8    4  38  36-41
9    5  31  31-35
10   5  32  31-35
11   6  38  36-41
12   6  38  36-41
13   7  26  20-30
14   7  26  20-30
15   8  34  31-35
16   8  34  31-35
17   9  30  20-30
18   9  30  20-30
19  10  38  36-41
20  10  38  36-41
21  11  37  36-41
22  11  36  36-41
23  12  33  31-35
24  12  33  31-35
25  13  25  20-30
26  13  25  20-30
27  14  33  31-35
28  14  33  31-35
29  15  37  36-41
30  15  37  36-41
31  16  30  20-30
32  16  30  20-30
33  17  40  36-41
34  17  40  36-41
35  18  36  36-41
36  18  36  36-41
37  19  35  31-35
38  19  35  31-35
39  20  22  20-30
40  20  22  20-30
41  21  29  20-30
42  21  29  20-30
43  22  41  36-41
44  22  41  36-41
45  23  27  20-30
46  23  27  20-30
47  24  25  20-30
48  24  25  20-30
49  25  37  36-41
50  25  37  36-41
51  26  32  31-35
52  26  32  31-35
53  27  31  31-35
54  27  31  31-35
55  28  40  36-41
56  28  40  36-41
57  29  23  20-30
58  29  23  20-30
59  30  31  31-35
60  30  31  31-35
61  31  38  36-41
62  31  38  36-41
63  32  38  36-41
64  32  38  36-41
65  33  41  36-41
66  33  41  36-41
67  34  40  36-41
68  34  40  36-41
69  35  30  20-30
70  35  30  20-30
71  36  39  36-41
72  36  39  36-41
73  37  30  20-30
74  37  30  20-30
75  38  37  36-41
76  38  37  36-41
77  39  23  20-30
78  39  23  20-30
79  40  20  20-30
80  40  20  20-30
81  41  31  31-35
82  41  31  31-35
83  42  39  36-41
84  42  39  36-41
85  43  36  36-41
86  43  36  36-41
87  44  28  20-30
88  44  28  20-30
89  45  35  31-35
90  45  35  31-35
91  46  36  36-41
92  46  36  36-41
93  47  35  31-35
94  47  35  31-35
95  48  27  20-30
96  48  27  20-30
97  49  35  31-35
98  49  35  31-35
99  50  28  20-30
100 50  28  20-30
101 51  41  36-41
102 51  41  36-41
103 52  34  31-35
104 52  34  31-35
105 53  33  31-35
106 53  33  31-35

Etiquetar variables con set_var_labels()

  • La función set_var_labels() del paquete labelled() es muy útil para etiquetar columnas.

  • Los datos deben tener metadatos que permitan ser legibles por el ser humano.

  • Esta función debería ser usada al final de todo el proceso.

Etiquetar variables con set_var_labels()

  • Veamos un ejemplo:

  • Ahora pongamos una etiqueta:
library(labelled)
datos2 <- datos %>% 
  set_variable_labels(
    pam = "Presión Arterial Media", 
    pas = "Presión Arterial Sistólica", 
    pad = "Presión Arterial Diastólica"
  )






Preguntas?





Muchas gracias!